package com.example.ximalayademo.interfaces;

import com.ximalaya.ting.android.opensdk.model.track.Track;
import com.ximalaya.ting.android.opensdk.player.service.XmPlayListControl;

import java.util.List;

public interface IPlayerCallback {

    /**
     * 开始播放
     */
    void onPlayStart();

    /**
     * 暂停播放
     */
    void onPlayPause();

    /**
     * 停止播放
     */
    void onPlayStop();

    /**
     * 播放错误
     */
    void onPlayError();

    /**
     * 下一曲
     * @param track
     */
    void nextPlay(Track track);

    /**
     * 上一曲
     * @param track
     */
    void onPrePlay(Track track);

    /**
     * 获取列表
     * @param tracks
     */
    void ListLoaded(List<Track> tracks);

    /**
     * 改变播放模式
     * @param playMode
     */
    void onPlayModeChange(XmPlayListControl.PlayMode playMode);

    /**
     * 改变进度
     * @param currentProgress
     * @param total
     */
    void onProgressChange(int currentProgress , int total);

    /**
     * 加载广告
     */
    void onAdLoading();

    /**
     * 停止广告
     */
    void onAdLoaded();

    /**
     * 更新当前节目的标题
     * @param track 节目
     */
    void onTrackUpdate(Track track , int playIndex);

    /**
     * 通知ui更新播放列表的顺序文字和图标
     * @param isReverse
     */
    void updateListOrder(boolean isReverse);

}
